package br.com.fromtis.jsf.modal.entity;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Type;
import org.joda.time.LocalDate;





@Getter
@Setter
@EqualsAndHashCode( of = { "id" } )
@Entity
public class Venda implements Serializable {
	private static final long serialVersionUID = 1283164576267864420L;
	
	
	@Id
	@GeneratedValue
	@Column( name = "ID" )
	private Integer id;
	
	@Column( name = "VENDA_DATA_VENDA" )
	@Type( type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate" )
	private LocalDate dataVenda;
	
	@Column( name = "VENDA_PRECO_UNIT" )
	private Double precoUnit;
	
	@Column( name = "VENDA_QTD" )
	private Integer qtd;
	
	@Column( name = "VENDA_TOTAL" )
	private Double total;
	
	@ManyToOne( cascade = CascadeType.ALL )
	@JoinColumn( name = "CLIENTE_ID" )
	private Cliente cliente;
	
	@ManyToOne( cascade = CascadeType.ALL )
	@JoinColumn( name = "PRODUTO_ID" )
	private Produto produto;
	
	public Venda () {
		super();
	}

	public Venda (
                   LocalDate dataVenda ,
                   Double precoUnit ,
                   Integer qtd ,
                   Cliente cliente ,
                   Produto produto ) {
	    super();
	    this.dataVenda = dataVenda;
	    this.precoUnit = precoUnit;
	    this.qtd = qtd;
	    this.total = precoUnit * qtd;
	    this.cliente = cliente;
	    this.produto = produto;
    }
	
	
	
}
